package test_unitaire;

import static org.junit.Assert.assertTrue;

import java.util.Calendar;

import org.junit.Test;

import buisness_service.Depense;
import buisness_service.PosteDepense;
import buisness_service.Rapport;
import buisness_service.Rapport.Mois;
import buisness_service.User;

public class Test_depense2 {

	@Test
	public void test() {

		User u = new User();
		Calendar d = Calendar.getInstance();
		d.set(2009, Calendar.DECEMBER, 12);
		PosteDepense transport = new PosteDepense("transport");
		transport.getSous_categorie().add("essence");
		Depense dep = new Depense(transport.getSous_categorie().get(0), 35, d,
				transport, u);

		d.set(2009, Calendar.DECEMBER, 13);
		Depense dep2 = new Depense(35, d, u);

		d.set(2009, Calendar.APRIL, 13);

		Depense dep3 = new Depense(35, d, u);

		assertTrue(dep3.getId() == Rapport.nbEntities);
		assertTrue(dep.getMontant() == 35);
		assertTrue(u.getDepenses().get(0) == dep);
		assertTrue(u.getEconomie().getMontant() == -105);
		assertTrue(transport.getDepenses().get(0) == dep);
		assertTrue(u.getRapport().get(0).getFinances_mois().get(0)
				.getMois() == Mois.Decembre);
		assertTrue(u.getRapport().get(0).getFinances_mois().get(1)
				.getMois() == Mois.Avril);

		assertTrue(u.getRapport().get(0).getFinances_mois().get(0)
				.getDep_mois().getDepenses_jour().get(0).getDepenses().get(0) == dep);

		assertTrue(u.getRapport().get(0).getFinances_mois().get(0)
				.getDep_mois().getDepenses_jour().get(1).getDepenses().get(0) == dep2);

		assertTrue(u.getRapport().get(0).getFinances_mois().get(1)
				.getDep_mois().getDepenses_jour().get(0).getDepenses().get(0) == dep3);

		
		Rapport.postesDpenses.clear();
		Rapport.postesRevenus.clear();

	}
	
	
}
